package appapi.dao;

import appapi.Request.ProjPageReq;
import appapi.Request.ProjReq;
import appapi.Request.bigscreen.CarInOutReq;
import appapi.dto.bigScreenDto.CarDayInOutDto;
import appapi.dto.bigScreenDto.CarInOutDto;
import appapi.entity.bridge.vo.ProjectsVo;
import appapi.entity.Zhongjiao.ExcelProjectDto;
import appapi.entity.Zhongjiao.ProjectDto;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;
import java.util.Map;

/**
 * @author djq
 * @date 2023/5/11 14:11
 * @description:
 */

@Mapper
public interface ProjectMapper {
    int deleteByPrimaryKey(Long projId);

    int deleteByIds(@Param("projIds") List<Long> projIds);

    int insert(ProjectDto record);

    int insertSelective(ProjectDto record);

    ProjectDto selectByPrimaryKey(Long projId);

    int updateByPrimaryKeySelective(ProjectDto record);

    int updateByPrimaryKey(ProjectDto record);

    ProjectDto selectByProjName(String projName);

    List<Map<String,Object>> selectProjList(ProjPageReq req);

    List<Map<String,Object>> selectProjectList(ProjReq req);

    Map<String, Object> selectProjDetail(Long projId);

    List<Map<String, Object>> selectProject(ProjPageReq projPageReq);

    List<ProjectDto> selectByProjectByOrgaId(Long orgaId);

    List<ExcelProjectDto> ProjectRecExport(ProjPageReq req);


    @Select("select proj_id,proj_name,orga_id from project")
    List<ProjectDto> selectAll();

    List<ProjectDto> selectByOrgaPathIds(@Param("orgaPathIds") String orgaPathIds);

    @Select("select proj_name as projName from project")
    List<ProjectsVo> selectProjectCount();


}